﻿using System;
using System.Collections.Generic;
using Loki.Engine.Data;

namespace Luna.Data.Project
{
    public interface IProjectDataProvider : IDataProvider
    {
        IEnumerable<IProjectData> GetAllProjects();

        IProjectData GetProject(Guid P_ProjectID);

        void SaveProject(IProjectData P_Project, IEnumerable<IProjectTaskData> P_Tasks);

        void DeleteProject(Guid P_ProjectID);

        IEnumerable<IProjectTaskData> GetAllTasks();

        IEnumerable<IProjectTaskData> GetAllTasksByProject(Guid P_ProjectID);

        IProjectTaskData GetTask(Guid P_TaskID);

        void SaveTask(IProjectTaskData P_Task);

        void DeleteTask(Guid P_TaskID);
    }
}
